ДЛЯ НОВИЧКОВНЕ ДЛЯ НОВИЧКОВНЕ ОБЯЗАТЕЛЬНОВ РАЗРАБОТКЕ
Разработчику
Архитектору
Чек-лист самопроверки
- Что такое Lua и для каких задач он предназначен?
- Кто создал Lua и где он был разработан?
- Почему Lua популярен в игровой индустрии?
- Какие есть реализации Lua (стандартный интерпретатор, LuaJIT)?
- Что такое Luau и чем он отличается от Lua?
- Поддерживает ли Luau статическую типизацию?
- Как запустить Lua-скрипт из командной строки?
- Какие есть примитивные типы данных в Lua?
- Что такое
nil и как он используется?
- В чём разница между
nil и false?
- Как работают логические операторы (
and, or, not)?
- Что такое «ложные» значения в Lua?
- Как объявляются переменные (
local, глобальные)?
- Почему рекомендуется использовать
local по умолчанию?
- Что такое таблица (
table) и как она создаётся?
- Как использовать таблицу как массив?
- Как использовать таблицу как словарь (ассоциативный массив)?
- Как итерироваться по таблице (
pairs, ipairs)?
- В чём разница между
pairs и ipairs?
- Как объявляется функция в Lua?
- Могут ли функции возвращать несколько значений?
- Как принимать переменное число аргументов (
...)?
- Что такое замыкания и как они работают?
- Что такое анонимные функции?
- Как передавать функцию как аргумент?
- Что такое метатаблицы (
metatable) и зачем они нужны?
- Какие метаметоды существуют (
__index, __newindex, __add, __call)?
- Как реализовать ООП в Lua с помощью таблиц и метатаблиц?
- Что такое прототипное наследование в Lua?
- Как работает оператор
. и : при вызове методов?
- Что такое модули и как их создавать (
return {})?
- Как загружать модули (
require)?
- Как работает сборка мусора в Lua?
- Можно ли управлять GC вручную (
collectgarbage)?
- Как обрабатывать ошибки (
pcall, xpcall)?
- Что такое
assert и как он используется?
- Как работают строки и конкатенация (
..)?
- Как использовать шаблонные строки или форматирование (
string.format)?
- Как работать с регулярными выражениями (шаблоны Lua)?
- Что такое корутины (
coroutine.create, resume, yield)?
- Как реализовать кооперативную многозадачность?
- Как Lua взаимодействует с C (через C API)?
- Что такое стек Lua и как он используется в C API?
- Как зарегистрировать C-функцию в Lua?
- Какие есть менеджеры пакетов для Lua (LuaRocks)?
- Как использовать внешние библиотеки в Lua?
- Какие особенности синтаксиса есть в Luau (например,
continue)?
- Как аннотировать типы в Luau (
x: number, function f(x: string): boolean)?
- Как работает проверка типов во время выполнения в Luau?
- Какие инструменты разработки поддерживают Lua и Luau (Roblox Studio, ZeroBrane, EmmyLua)?